#pragma once
#include<string>
using namespace std;

namespace 运算{
    namespace 整数{
        class 除0:exception{};
        //0->相等 1->大 -1->小
        extern int 比较(const string& a,const string& b);
        extern void 加(const string& a,const string& b,string& out);
        //返回1/-1(运算结果的正负)
        extern int 减(const string& a,const string& b,string& out);
        extern int 减(string::const_iterator abegin,string::const_iterator aend,
        string::const_iterator bbegin,string::const_iterator bend,
        string& out);
        extern void 乘(const string& a,const string& b,string& out);
        //n->保留位数 不舍入
        extern void 除(const string& a,const string& b,string& whole,string& small,size_t n);
        extern void 整除(const string& a,const string& b,string& result,string& remain);
        //默认参数合法
        extern void 整除(string::const_iterator abegin,string::const_iterator aend,
        string::const_iterator bbegin,string::const_iterator bend,
        string& result,string& remain);
    }
};